進程、行程、過程、行程、程序、處理程序
都是指Process
嗯所以我說...
難道不能統一 一下嗎?ლ(╹◡╹ლ)
不行!不可以!休想!╭∩╮( ͡⚆ ͜ʖ ͡⚆)╭∩╮
但是我下面都會統一用Process來說 xDD
註:╭∩╮ : 是指手指頭,並非其他事物。
Hi 各位大大,
我是Robin (,,・ω・,,)
這篇來記錄和分享一下我在學習Node中的Process
一開始看得時候總覺得是個非常麻煩的東西QQ
實際上...
哈哈哈哈哈(*゚∀゚*)
哈哈哈(゚∀゚)
哈...(´・ω・`)
嗚嗚嗚嗚嗚இдஇ
如果有看一遍解決不了的東西!ヽ(́◕◞౪◟◕‵)ノ
那就看兩遍!( ゚∀゚)o彡゚
如果兩遍還看不懂!(((゚Д゚;)))那就放棄(´,,•ω•,,)♡
都講到Process了,就順帶提一下跟他非常有關係的Program和Thread
經過我認真又隨便的研究,以我的觀察來看(完全不附帶任何責任)
我們以簡單粗暴的大概認識一下(越粗暴我越愛)
Program = 我們寫的Code(還沒被執行)=> 存在硬碟(Rom)
Process = 我們寫的Code (已經被執行且並已載入到記憶體)=> 存在記憶體(Ram)
Thread = Process的執行單位(Process 是 Thread 的容器)=>存在Process
好了~為了怕模糊焦點我們不要那麼深入探討這個
絕對不是我不懂或是我懶惰喔!如果有大大要補充我也是非常願意copy paste 在文章內的唷xDD
來專注在Process吧!
列出以下我看到的Process是什麼他能幹嘛?
const process = require('process');
嗯看起來最蛋疼的就是第三點
為什麼說是入門?
因為如果全部寫完我大概主題會改為 => 從入門到放棄的NodeJs (´≖◞౪◟≖)
我們就來了解上述說的
讀:獲取程序資訊
寫:執行程序操作
注意: 下面列舉的內容只是"部分",
有興趣可以看一下官方process的API document。
這邊感覺就是需要再查也可以的部分,我覺得不用特別記。
單純稍微看一下搞不好哪天想到有需要可以直接知道在process就可以get 到了
process.memoryUsage())
{
rss: 21590016, // 總共佔用的記憶體
heapTotal: 4251648, // V8引擎總共使用的記憶體
heapUsed: 2161344, // V8引擎目前使用的記憶體
external: 680685 // 管理V8的記憶體
}
process.cpuUsage()
{
user: 33426,
system: 11480
}
目前我不知道這個要拿來幹嘛@@
也許是打開工作管理員可以早點找到他?
或是拿取pid 在某些情境可以砍掉(?)
process.pid
<PID>
實用原因是假使,今天要執行某module,可是在不同的資料夾而且有很多層
使用相對路徑可能會有很多層例如=> ../../../../module/<module>
這時候用這個就滿方便的。
process.cwd()
/Users/robinzhang/nodeLearning
這個跟上面那個差異在
一個是程式執行的位置
一個是Node的資源位置
process.execPath
/usr/local/bin/node
如果妳朋友不知道他電腦是幾位元的時候你可以包一個這隻程式,就可以馬上知道(?)還可以裝逼
process.arch
x64 //or x86
我覺得這部分可能是process模組最大需要理解的,
感覺要深入玩這個不可以不知道的感覺。
我的推測啦xD
這部分我覺得必須知道什麼是EventLoop和EventEmiiter
之後理論上再分享我看起來的EventLoop 和EventEmiiter
這部分....我非常抱歉~我下篇再講
實際原因不是因為這週看太多冰與火之歌
也不是因為Netflix太好看
是因為個人私事太多
先說聲抱歉Orz
我發現我到現在的處境很像是剛入門的學徒
如果我是要學著當廚師的人,我現在就在洗碗
如果我是要學著當黑手的人,我現在就在換機油
這些比較枯燥乏味的東西,
說實話學的真的是不知道什麼時候會用到Orz
但是我相信這都是Node給我的考驗
絕對不是廚師懶得洗碗,師傅懶得幫客人換機油。
沒錯!
都是考驗!應該吧
不管如何都是因為以前太混所以我很多東西都不懂啦QQ
俗話說的好
蹲得越低,腳越酸。
我會努力的
感謝大大的觀看
Banner設計
Node.js process模組解讀
process Node.js API
Program/Process/Thread 差異
JavaScript 运行机制详解:再谈Event Loop